﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace BusinessLogic.Entities
{
    /// <summary>
    /// Композитный тип данных, возвращающий объединенный объект Роль
    /// </summary>
    public class RoleEntity
    {
        private List<PermissionStateEntity> permissionStates;
        private List<PermissionMenuEntity> permissionMenus;
        private List<PermissionMVCActionEntity> permissionMVCActions;

        public int Id { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public bool Deleted { get; set; }
        public bool OnlyIts { get; set; }


        /// <summary>
        /// Список разрешенных для работы статусов (разрешения для перевода в этот статус)
        /// </summary>
        public List<PermissionStateEntity> PermissionStates
        {
            get { return permissionStates; }
            set { permissionStates = value; }
        }

        /// <summary>
        /// Список разрешенных пунктов меню
        /// </summary>
        public List<PermissionMenuEntity> PermissionMenus
        {
            get { return permissionMenus; }
            set { permissionMenus = value; }
        }

        /// <summary>
        /// Список разрешенных действий для пользователя
        /// </summary>
        public List<PermissionMVCActionEntity> PermissionMVCActions
        {
            get { return permissionMVCActions; }
            set { permissionMVCActions = value; }
        }

    }
}
